package com.ruoyi.system.domain.entity;

import java.time.LocalTime;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 民宿基础信息对象 homestay_basic
 * 
 * @author ruoyi
 * @date 2024-03-23
 */
@TableName("homestay_basic")
public class HomestayBasic extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableField("id")
    private Long id;

    /** 用户ID */
    @TableField("user_id")
    @Excel(name = "用户ID")
    private Long userId;

    /** 商家ID */
    @TableField("merchant_id")
    @Excel(name = "商家ID")
    private Long merchantId;

    /** 地址 */
    @TableField("address")
    @Excel(name = "地址")
    private String address;

    /** 电话 */
    @Excel(name = "电话")
    @TableField("telephone")
    private String telephone;

    /** 描述 */
    @Excel(name = "描述")
    @TableField("describe")
    private String describe;

    /** 订房必读-特殊入离时间 */
//    @Excel(name = "订房必读-特殊入离时间")
    @TableField("required_read_time")
    private String requiredReadTime;

    /** 订房必读-城市通知 */
    @Excel(name = "订房必读-城市通知")
    @TableField("required_read_time")
    private String requiredReadCityNotice;

    /** 入住时间 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "入住时间", width = 30, dateFormat = "HH:mm")
    @TableField("enter_time")
    private LocalTime enterTime;

    /** 离开时间 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "离开时间", width = 30, dateFormat = "HH:mm")
    @TableField("leave_time")
    private LocalTime leaveTime;

    /** 入住提示 */
    @Excel(name = "入住提示")
    @TableField("enter_reminder")
    private String enterReminder;

    /** 宠物须知 */
    @Excel(name = "宠物须知")
    @TableField("pet_notice")
    private String petNotice;

    /** 早餐须知 */
    @Excel(name = "早餐须知")
    @TableField("breakfast_notice")
    private String breakfastNotice;

    /** 预订提示 */
    @Excel(name = "预订提示")
    @TableField("book_tips")
    private String bookTips;

    /** 收费说明 */
    @Excel(name = "收费说明")
    @TableField("fee_description")
    private String feeDescription;

    /** 删除标志：0：删除；1：未删除 */
    @Excel(name = "删除标志：0：删除；1：未删除")
    @TableField("delete_flag")
    private Long deleteFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setMerchantId(Long merchantId) 
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() 
    {
        return merchantId;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setDescribe(String describe) 
    {
        this.describe = describe;
    }

    public String getDescribe() 
    {
        return describe;
    }
    public void setRequiredReadTime(String requiredReadTime) 
    {
        this.requiredReadTime = requiredReadTime;
    }

    public String getRequiredReadTime() 
    {
        return requiredReadTime;
    }
    public void setRequiredReadCityNotice(String requiredReadCityNotice) 
    {
        this.requiredReadCityNotice = requiredReadCityNotice;
    }

    public String getRequiredReadCityNotice() 
    {
        return requiredReadCityNotice;
    }
    public void setEnterTime(LocalTime enterTime)
    {
        this.enterTime = enterTime;
    }

    public LocalTime getEnterTime()
    {
        return enterTime;
    }
    public void setLeaveTime(LocalTime leaveTime)
    {
        this.leaveTime = leaveTime;
    }

    public LocalTime getLeaveTime()
    {
        return leaveTime;
    }
    public void setEnterReminder(String enterReminder) 
    {
        this.enterReminder = enterReminder;
    }

    public String getEnterReminder() 
    {
        return enterReminder;
    }
    public void setPetNotice(String petNotice) 
    {
        this.petNotice = petNotice;
    }

    public String getPetNotice() 
    {
        return petNotice;
    }
    public void setBreakfastNotice(String breakfastNotice) 
    {
        this.breakfastNotice = breakfastNotice;
    }

    public String getBreakfastNotice() 
    {
        return breakfastNotice;
    }
    public void setBookTips(String bookTips) 
    {
        this.bookTips = bookTips;
    }

    public String getBookTips() 
    {
        return bookTips;
    }
    public void setFeeDescription(String feeDescription) 
    {
        this.feeDescription = feeDescription;
    }

    public String getFeeDescription() 
    {
        return feeDescription;
    }
    public void setDeleteFlag(Long deleteFlag) 
    {
        this.deleteFlag = deleteFlag;
    }

    public Long getDeleteFlag() 
    {
        return deleteFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("merchantId", getMerchantId())
            .append("address", getAddress())
            .append("telephone", getTelephone())
            .append("describe", getDescribe())
            .append("requiredReadTime", getRequiredReadTime())
            .append("requiredReadCityNotice", getRequiredReadCityNotice())
            .append("enterTime", getEnterTime())
            .append("leaveTime", getLeaveTime())
            .append("enterReminder", getEnterReminder())
            .append("petNotice", getPetNotice())
            .append("breakfastNotice", getBreakfastNotice())
            .append("bookTips", getBookTips())
            .append("feeDescription", getFeeDescription())
            .append("deleteFlag", getDeleteFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
